resources:
- name: sample-gateway:HTTP:8080
  resource:
    '@type': type.googleapis.com/envoy.config.listener.v3.Listener
    address:
      socketAddress:
        address: 192.168.0.1
        portValue: 8080
    enableReusePort: true
    filterChains:
    - filters:
      - name: envoy.filters.network.http_connection_manager
        typedConfig:
          '@type': type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
          commonHttpProtocolOptions:
            headersWithUnderscoresAction: REJECT_REQUEST
            idleTimeout: 300s
          http2ProtocolOptions:
            allowConnect: true
            initialConnectionWindowSize: 1048576
            initialStreamWindowSize: 65536
            maxConcurrentStreams: 100
          httpFilters:
          - name: envoy.filters.http.local_ratelimit
            typedConfig:
              '@type': type.googleapis.com/envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit
              statPrefix: rate_limit
          - name: gzip-compress
            typedConfig:
              '@type': type.googleapis.com/envoy.extensions.filters.http.compressor.v3.Compressor
              compressorLibrary:
                name: gzip
                typedConfig:
                  '@type': type.googleapis.com/envoy.extensions.compression.gzip.compressor.v3.Gzip
              responseDirectionConfig:
                disableOnEtagHeader: true
          - name: envoy.filters.http.router
            typedConfig:
              '@type': type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
          mergeSlashes: true
          normalizePath: true
          pathWithEscapedSlashesAction: UNESCAPE_AND_REDIRECT
          rds:
            configSource:
              ads: {}
              resourceApiVersion: V3
            routeConfigName: sample-gateway:HTTP:8080:*
          requestHeadersTimeout: 0.500s
          serverName: Kuma Gateway
          statPrefix: sample-gateway
          streamIdleTimeout: 5s
          useRemoteAddress: true
    listenerFilters:
    - name: envoy.filters.listener.tls_inspector
      typedConfig:
        '@type': type.googleapis.com/envoy.extensions.filters.listener.tls_inspector.v3.TlsInspector
    name: sample-gateway:HTTP:8080
    perConnectionBufferLimitBytes: 32768
    trafficDirection: INBOUND
- name: sample-gateway:HTTP:8081
  resource:
    '@type': type.googleapis.com/envoy.config.listener.v3.Listener
    address:
      socketAddress:
        address: 192.168.0.1
        portValue: 8081
    enableReusePort: true
    filterChains:
    - filters:
      - name: envoy.filters.network.http_connection_manager
        typedConfig:
          '@type': type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
          commonHttpProtocolOptions:
            headersWithUnderscoresAction: REJECT_REQUEST
            idleTimeout: 300s
          http2ProtocolOptions:
            allowConnect: true
            initialConnectionWindowSize: 1048576
            initialStreamWindowSize: 65536
            maxConcurrentStreams: 100
          httpFilters:
          - name: envoy.filters.http.local_ratelimit
            typedConfig:
              '@type': type.googleapis.com/envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit
              statPrefix: rate_limit
          - name: gzip-compress
            typedConfig:
              '@type': type.googleapis.com/envoy.extensions.filters.http.compressor.v3.Compressor
              compressorLibrary:
                name: gzip
                typedConfig:
                  '@type': type.googleapis.com/envoy.extensions.compression.gzip.compressor.v3.Gzip
              responseDirectionConfig:
                disableOnEtagHeader: true
          - name: envoy.filters.http.router
            typedConfig:
              '@type': type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
          mergeSlashes: true
          normalizePath: true
          pathWithEscapedSlashesAction: UNESCAPE_AND_REDIRECT
          rds:
            configSource:
              ads: {}
              resourceApiVersion: V3
            routeConfigName: sample-gateway:HTTP:8081:*
          requestHeadersTimeout: 0.500s
          serverName: Kuma Gateway
          statPrefix: sample-gateway
          streamIdleTimeout: 5s
          useRemoteAddress: true
    listenerFilters:
    - name: envoy.filters.listener.tls_inspector
      typedConfig:
        '@type': type.googleapis.com/envoy.extensions.filters.listener.tls_inspector.v3.TlsInspector
    name: sample-gateway:HTTP:8081
    perConnectionBufferLimitBytes: 32768
    trafficDirection: INBOUND
- name: sample-gateway:HTTP:8082
  resource:
    '@type': type.googleapis.com/envoy.config.listener.v3.Listener
    address:
      socketAddress:
        address: 192.168.0.1
        portValue: 8082
    enableReusePort: true
    filterChains:
    - filters:
      - name: envoy.filters.network.http_connection_manager
        typedConfig:
          '@type': type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
          commonHttpProtocolOptions:
            headersWithUnderscoresAction: REJECT_REQUEST
            idleTimeout: 300s
          http2ProtocolOptions:
            allowConnect: true
            initialConnectionWindowSize: 1048576
            initialStreamWindowSize: 65536
            maxConcurrentStreams: 100
          httpFilters:
          - name: envoy.filters.http.local_ratelimit
            typedConfig:
              '@type': type.googleapis.com/envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit
              statPrefix: rate_limit
          - name: gzip-compress
            typedConfig:
              '@type': type.googleapis.com/envoy.extensions.filters.http.compressor.v3.Compressor
              compressorLibrary:
                name: gzip
                typedConfig:
                  '@type': type.googleapis.com/envoy.extensions.compression.gzip.compressor.v3.Gzip
              responseDirectionConfig:
                disableOnEtagHeader: true
          - name: envoy.filters.http.router
            typedConfig:
              '@type': type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
          mergeSlashes: true
          normalizePath: true
          pathWithEscapedSlashesAction: UNESCAPE_AND_REDIRECT
          rds:
            configSource:
              ads: {}
              resourceApiVersion: V3
            routeConfigName: sample-gateway:HTTP:8082:*
          requestHeadersTimeout: 0.500s
          serverName: Kuma Gateway
          statPrefix: sample-gateway
          streamIdleTimeout: 5s
          useRemoteAddress: true
    listenerFilters:
    - name: envoy.filters.listener.tls_inspector
      typedConfig:
        '@type': type.googleapis.com/envoy.extensions.filters.listener.tls_inspector.v3.TlsInspector
    name: sample-gateway:HTTP:8082
    perConnectionBufferLimitBytes: 32768
    trafficDirection: INBOUND
- name: sample-gateway:HTTPS:8083
  resource:
    '@type': type.googleapis.com/envoy.config.listener.v3.Listener
    address:
      socketAddress:
        address: 192.168.0.1
        portValue: 8083
    enableReusePort: true
    filterChains:
    - filterChainMatch:
        serverNames:
        - '*.secure.dev'
        transportProtocol: tls
      filters:
      - name: envoy.filters.network.http_connection_manager
        typedConfig:
          '@type': type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
          commonHttpProtocolOptions:
            headersWithUnderscoresAction: REJECT_REQUEST
            idleTimeout: 300s
          http2ProtocolOptions:
            allowConnect: true
            initialConnectionWindowSize: 1048576
            initialStreamWindowSize: 65536
            maxConcurrentStreams: 100
          httpFilters:
          - name: envoy.filters.http.local_ratelimit
            typedConfig:
              '@type': type.googleapis.com/envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit
              statPrefix: rate_limit
          - name: gzip-compress
            typedConfig:
              '@type': type.googleapis.com/envoy.extensions.filters.http.compressor.v3.Compressor
              compressorLibrary:
                name: gzip
                typedConfig:
                  '@type': type.googleapis.com/envoy.extensions.compression.gzip.compressor.v3.Gzip
              responseDirectionConfig:
                disableOnEtagHeader: true
          - name: envoy.filters.http.router
            typedConfig:
              '@type': type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
          mergeSlashes: true
          normalizePath: true
          pathWithEscapedSlashesAction: UNESCAPE_AND_REDIRECT
          rds:
            configSource:
              ads: {}
              resourceApiVersion: V3
            routeConfigName: sample-gateway:HTTPS:8083:*.secure.dev
          requestHeadersTimeout: 0.500s
          serverName: Kuma Gateway
          statPrefix: sample-gateway
          streamIdleTimeout: 5s
          useRemoteAddress: true
      transportSocket:
        name: envoy.transport_sockets.tls
        typedConfig:
          '@type': type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext
          commonTlsContext:
            alpnProtocols:
            - h2
            - http/1.1
            tlsCertificateSdsSecretConfigs:
            - name: cert.rsa:inline:*.secure.dev
              sdsConfig:
                ads: {}
                resourceApiVersion: V3
            tlsParams:
              tlsMinimumProtocolVersion: TLSv1_2
          requireClientCertificate: false
    - filterChainMatch:
        serverNames:
        - '*.super-secure.dev'
        transportProtocol: tls
      filters:
      - name: envoy.filters.network.http_connection_manager
        typedConfig:
          '@type': type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
          commonHttpProtocolOptions:
            headersWithUnderscoresAction: REJECT_REQUEST
            idleTimeout: 300s
          http2ProtocolOptions:
            allowConnect: true
            initialConnectionWindowSize: 1048576
            initialStreamWindowSize: 65536
            maxConcurrentStreams: 100
          httpFilters:
          - name: envoy.filters.http.local_ratelimit
            typedConfig:
              '@type': type.googleapis.com/envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit
              statPrefix: rate_limit
          - name: gzip-compress
            typedConfig:
              '@type': type.googleapis.com/envoy.extensions.filters.http.compressor.v3.Compressor
              compressorLibrary:
                name: gzip
                typedConfig:
                  '@type': type.googleapis.com/envoy.extensions.compression.gzip.compressor.v3.Gzip
              responseDirectionConfig:
                disableOnEtagHeader: true
          - name: envoy.filters.http.router
            typedConfig:
              '@type': type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
          mergeSlashes: true
          normalizePath: true
          pathWithEscapedSlashesAction: UNESCAPE_AND_REDIRECT
          rds:
            configSource:
              ads: {}
              resourceApiVersion: V3
            routeConfigName: sample-gateway:HTTPS:8083:*.super-secure.dev
          requestHeadersTimeout: 0.500s
          serverName: Kuma Gateway
          statPrefix: sample-gateway
          streamIdleTimeout: 5s
          useRemoteAddress: true
      transportSocket:
        name: envoy.transport_sockets.tls
        typedConfig:
          '@type': type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.DownstreamTlsContext
          commonTlsContext:
            alpnProtocols:
            - h2
            - http/1.1
            tlsCertificateSdsSecretConfigs:
            - name: cert.rsa:inline:*.super-secure.dev
              sdsConfig:
                ads: {}
                resourceApiVersion: V3
            tlsParams:
              tlsMinimumProtocolVersion: TLSv1_2
          requireClientCertificate: false
    listenerFilters:
    - name: envoy.filters.listener.tls_inspector
      typedConfig:
        '@type': type.googleapis.com/envoy.extensions.filters.listener.tls_inspector.v3.TlsInspector
    name: sample-gateway:HTTPS:8083
    perConnectionBufferLimitBytes: 32768
    trafficDirection: INBOUND
